Proving refinement transformations for deriving high-assurance software
نویسندگان
چکیده
The construction of a high-assurance system requires some evidence, ideally a proof, that the system as implemented will behave as required. Direct proofs of implementations do not scale up well as systems become more complex and therefore are of limited value. In recent years, refinement-based approaches have been investigated as a means to manage the complexity inherent in the verification process. In a refinement-based approach, a high-level specification is converted into an implementation through a number of refinement steps. The hope is that the proofs of the individual refinement steps will be easier than a direct proof of the implementation. However, if stepwise refinement is performed manually, the number of steps is severly limited, implying that the size of each step is large. If refinement steps are large, then proofs of their correctness will not be much easier than a direct proof of the implementation. We describe an approach to refinement-based software development that is based on automatic application of refinements, expressed as program transformations. This automation has the desirable effect that the refinement steps can be extremely small and, thus, easy to prove correct. We give an overview of the TAMPR transformation system that we use for automated refinement. We then focus on some aspects of the semantic framework that we have been developing to enable proofs that TAMPR transformations are c o m c t ness preserving. With this framework, proofs of correctness for transformations can be obtained with the assistance of an automated reasoning system. *This work was supported in part by the United States Department of Energy under Contract DE-ACO494AL85000, and in part by the BM/C3 directorate, Ballistic Missile Defense Organization, U.S. Department of Defense. iThis work was supported by the BM/C3 directorate, Ballistic Missile Defense Organization, U.S. Department of Defense.
منابع مشابه
Constraint Maintenance and Transformation Based Design for High-Assurance Software and Systems
This paper proposes constraint maintenance and transformations (CMT) as a basis for developing high assurance software and systems. CMT goes from requirements to implementation through the application of transformation rules that (i) guarantee constraints are satisfied at each step (ii) supports changes and upgrades through the modification of constraints (requirements) and their propagation th...
متن کاملFormal Verification for High-Assurance Behavioral Synthesis
We present a framework for certifying hardware designs generated through behavioral synthesis, by using formal verification to certify the associated synthesis transformations. We show how to decompose this certification into two components, which can be respectively handled by the complementary verification techniques, theorem proving and model checking. The approach produces a certified refer...
متن کاملModel Transformation by Refinement in Constructive Logic
We present first steps of a formalisation of meta modelling in a constructively typed programming language, explaining its potential for specifying model transformations. We describe our meta-model encoding and outline our automated theorem prover integration. Our aim is to provide an environment for formally developing software transformations, which are correct by construction and machine-che...
متن کاملConstraint-based specification of model transformations
Model transformations are a central element of model-driven development (MDD) approaches. The correctness, modularity and flexibility of model transformations is critical to their effective use in practical software development. In this paper we describe an approach for the automated derivation of correct-by-construction transformation implementations from high-level specifications. We illustra...
متن کاملRefactoring, Refinement, and Reasoning - A Logical Characterization for Hybrid Systems
Refactoring of code is a common device in software engineering. As cyber-physical systems (CPS) become ever more complex, similar engineering practices become more common in CPS development. Proper safe developments of CPS designs are accompanied by a proof of correctness. Since the inherent complexities of CPS practically mandate iterative development, frequent changes of models are standard p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996